On the Reusability and Numeric Efficiency of C++ Packages in Scientific Computing
نویسندگان
چکیده
In this paper, we discuss the reusability and numerical efficiency of selected Object-Oriented numerical packages, serial and parallel, for developing high performance scientific computing applications. We selected packages that can be obtained freely on the internet and most of them are open source. Since the authors did not have extensive previous experience with all the packages, we believe that we approximately reproduced the typical process that an experienced OO programmer undergoes to apply the fundamental OO concepts to component reusability and general programming in new and existing OO scientific computing applications. We attempted to apply these concepts in the selection of numerical containers, defined as class with the main purpose of holding objects, such as vectors and matrices that could be both efficient and well tested for dense matrix operations. Our results indicates that in general serial OO packages still lags behind well-tuned non-OO libraries that supply BLAS type operations. Surprisingly, simple containers from the Standard Template Library (STL) outperformed most of OO libraries that used more sophisticated techniques such as expression templates. Careful wrapping of non-OO libraries seems to be the best way to obtain good performance and reusability. Most parallel OO packages use this approach rather than reimplementing BLAS operations natively. Thus they are more attractive in terms of performance and reusability than their serial counterparts.
منابع مشابه
Computing Vertex PI, Omega and Sadhana Polynomials of F12(2n+1) Fullerenes
The topological index of a graph G is a numeric quantity related to G which is invariant under automorphisms of G. The vertex PI polynomial is defined as PIv (G) euv nu (e) nv (e). Then Omega polynomial (G,x) for counting qoc strips in G is defined as (G,x) = cm(G,c)xc with m(G,c) being the number of strips of length c. In this paper, a new infinite class of fullerenes is constructed. ...
متن کاملImmobilization of Urease onto Modified Egg Shell Membrane through Cross Linking
Background: Immobilization is an approach in industry to improve stability and reusability of urease. The efficiency of this technique depends on the type of membrane and the method of stabilization. Methods: The PEI-modified egg shell membrane was used to immobilize urease by absorption and glutaraldehyde cross-linking methods. The membranes were characterized by Fourier-transform infrared sp...
متن کاملA Genetic Based Resource Management Algorithm Considering Energy Efficiency in Cloud Computing Systems
Cloud computing is a result of the continuing progress made in the areas of hardware, technologies related to the Internet, distributed computing and automated management. The Increasing demand has led to an increase in services resulting in the establishment of large-scale computing and data centers, in addition to high operating costs and huge amounts of electrical power consumption. Insuffic...
متن کاملImproving the palbimm scheduling algorithm for fault tolerance in cloud computing
Cloud computing is the latest technology that involves distributed computation over the Internet. It meets the needs of users through sharing resources and using virtual technology. The workflow user applications refer to a set of tasks to be processed within the cloud environment. Scheduling algorithms have a lot to do with the efficiency of cloud computing environments through selection of su...
متن کاملA Clustering Approach to Scientific Workflow Scheduling on the Cloud with Deadline and Cost Constraints
One of the main features of High Throughput Computing systems is the availability of high power processing resources. Cloud Computing systems can offer these features through concepts like Pay-Per-Use and Quality of Service (QoS) over the Internet. Many applications in Cloud computing are represented by workflows. Quality of Service is one of the most important challenges in the context of sche...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2003